﻿#ifndef __SS_ANGLE_H__
#define __SS_ANGLE_H__
#include "../3dMath/ss3dMathDefine.h"

namespace StarSeeker
{

enum AngleType_e
{
	AT_RADIAN=0,//弧度
	AT_DEGREE	//角度
};

class ssAngle
{
public:
	ssAngle(void);
	ssAngle(AngleType_e type);
	~ssAngle(void);
	//使用弧度单位
	void UseRadian();
	//使用角度单位
	void UseDegree();
	//获取当前单位类型
	AngleType_e GetType();
	//获取弧度值
	ssfloat Radian();
	//获取角度值
	ssfloat Degree();

	ssfloat Sin();
	ssfloat Cos();
	ssfloat Tan();

	operator ssfloat* ();
	operator ssfloat ();

	void operator = (ssfloat fa);
	void operator += (ssfloat fa);
	void operator -= (ssfloat fa);

private:
	ssfloat			m_angle;
	AngleType_e		m_type;
};

}
#endif
